package ar.uba.fi.algo3.algoTank.vista;

import ar.uba.fi.algo3.algoTank.ObservadorJuego;
import ar.uba.fi.algo3.algoTank.Objetos.Objeto;
import ar.uba.fi.algo3.titiritero.ControladorJuego;
import ar.uba.fi.algo3.titiritero.Dibujable;

public class ControladorVista implements ObservadorJuego {  

	private ControladorJuego controlador;

	public ControladorVista(ControladorJuego controlador){
		this.controlador = controlador;
	}
	
	public void nuevoAlgoTank(Objeto obj){
		VistaAlgoTank vista = new VistaAlgoTank();
        vista.setPosicionable(obj);
        controlador.agregarDibujable(vista);
	}
	
	public void nuevoGrizzly(Objeto obj){
		VistaGrizzly vista = new VistaGrizzly();
        vista.setPosicionable(obj);
        controlador.agregarDibujable(vista);
	}
	
	public void nuevoIFV(Objeto obj){
		VistaIFV vista = new VistaIFV();
        vista.setPosicionable(obj);
        controlador.agregarDibujable(vista);
	}
	
	public void nuevoMirage(Objeto obj){
		VistaMirage vista = new VistaMirage();
        vista.setPosicionable(obj);
        controlador.agregarDibujable(vista);
	}
		
	public void nuevoBalaAmetralladora(Objeto obj){
		VistaBalaAmetralladora vista = new VistaBalaAmetralladora();
        vista.setPosicionable(obj);
        controlador.agregarDibujable(vista);
	}
	
	public void nuevoBalaCanion(Objeto obj){
		VistaBalaCanion vista = new VistaBalaCanion();
        vista.setPosicionable(obj);
        controlador.agregarDibujable(vista);
	}

	public void nuevoBalaCohete(Objeto obj){
		VistaBalaCohete vista = new VistaBalaCohete();
        vista.setPosicionable(obj);
        controlador.agregarDibujable(vista);
	}

	public void nuevoBloqueConcreto(Objeto obj) {
		VistaBloqueConcreto  vista = new VistaBloqueConcreto();
        vista.setPosicionable(obj);
        controlador.agregarDibujable(vista);
	}
	
	public void nuevoBloqueMetal(Objeto obj) {
		VistaBloqueMetal  vista = new VistaBloqueMetal();
        vista.setPosicionable(obj);
        controlador.agregarDibujable(vista);		
	}

	public void nuevoBase(Objeto obj) {
		VistaBase  vista = new VistaBase();
        vista.setPosicionable(obj);
        controlador.agregarDibujable(vista);
	}

	public void nuevoItemCanion(Objeto obj) {
		VistaItemCanion  vista = new VistaItemCanion();
        vista.setPosicionable(obj);
        controlador.agregarDibujable(vista);
	}

	public void nuevoItemCohete(Objeto obj) {
		VistaItemCohete vista = new VistaItemCohete();
        vista.setPosicionable(obj);
        controlador.agregarDibujable(vista);
	}

	public void nuevoItemAtaque(Objeto obj) {
		VistaItemAtaque  vista = new VistaItemAtaque();
        vista.setPosicionable(obj);
        controlador.agregarDibujable(vista);
	}

	public void nuevoItemVida(Objeto obj) {
		VistaItemVida  vista = new VistaItemVida();
        vista.setPosicionable(obj);
        controlador.agregarDibujable(vista);
	}

	public void nuevoObjetoMuerto(Objeto obj) {
		Dibujable dib = controlador.encontrarVista(obj);
		controlador.removerDibujable(dib);		
	}

	
	
}
